graph convolution parallel.tex (1851B)
1 \begin{tikzpicture}[ 2 a/.style={fill=Dark2-A}, 3 b/.style={fill=Dark2-B}, 4 c/.style={fill=Dark2-C}] 5 \matrix[name=cnn, matrix of nodes, column sep=2mm, row sep=2mm, anchor=east] at (-1mm, 0) { 6 \node[a] (c11) {}; & \node[b] (c12) {}; & \node[c] (c13) {}; & \node[c] (c14) {}; & \node[a] (c15) {}; \\ 7 \node[a] (c21) {}; & \node[c] (c22) {}; & \node[c] (c23) {}; & \node[c] (c24) {}; & \node[a] (c25) {}; \\ 8 \node[b] (c31) {}; & \node[b] (c32) {}; & \node[a] (c33) {}; & \node[b] (c34) {}; & \node[b] (c35) {}; \\ 9 \node[b] (c41) {}; & \node[a] (c42) {}; & \node[b] (c43) {}; & \node[c] (c44) {}; & \node[a] (c45) {}; \\ 10 \node[b] (c51) {}; & \node[a] (c52) {}; & \node[a] (c53) {}; & \node[a] (c54) {}; & \node[a] (c55) {}; \\ 11 }; 12 13 \foreach \y in {1,...,5}{ 14 \foreach \x in {1,...,5}{ 15 \pgfmathsetmacro{\xnext}{int(\x+1)} 16 \pgfmathsetmacro{\ynext}{int(\y+1)} 17 \ifnum\y<5 \draw (c\y\x) -- (c\ynext\x); \fi 18 \ifnum\x<5 19 \draw (c\y\x) -- (c\y\xnext); 20 \ifnum\y<5 21 \draw (c\y\x) -- (c\ynext\xnext); 22 \draw (c\ynext\x) -- (c\y\xnext); 23 \fi 24 \fi 25 } 26 } 27 28 \draw[thick] (0, -1) -- (0, 1); 29 30 \node[a] (g1) at (03mm, 0mm) {}; 31 \node[b] (g2) at (05mm, 4mm) {}; 32 \node[a] (g3) at (11mm, -5mm) {}; 33 \node[c] (g4) at (04mm, -6mm) {}; 34 \node[b] (g5) at (13mm, 1mm) {}; 35 \node[c] (g6) at (08mm, -1mm) {}; 36 \node[a] (g7) at (16mm, 9mm) {}; 37 \node[b] (g8) at (11mm, 8mm) {}; 38 \node[c] (g9) at (15mm, -7mm) {}; 39 \node[b] (gA) at (18mm, 2mm) {}; 40 \node[a] (gB) at (22mm, 4mm) {}; 41 42 \draw (g1) -- (g2); 43 \draw (g1) -- (g4); 44 \draw (g1) -- (g6); 45 \draw (g2) -- (g5); 46 \draw (g2) -- (g6); 47 \draw (g2) -- (g8); 48 \draw (g3) -- (g4); 49 \draw (g3) -- (g9); 50 \draw (g3) -- (g5); 51 \draw (g3) -- (g6); 52 \draw (g5) -- (g6); 53 \draw (g5) -- (g7); 54 \draw (g5) -- (g8); 55 \draw (g5) -- (gA); 56 \draw (g7) -- (g8); 57 \draw (g7) -- (gA); 58 \draw (g7) -- (gB); 59 \draw (gA) -- (gB); 60 61 \end{tikzpicture}